#include <stdio.h>

void main(void)
{
    // restrict说明符允许编译器优化某些代码。它只能用于指针，表明该指针是访问数据的唯一方式。
    // 如果编译器知道某块内存只能用一个方式访问，可能可以更好地优化代码，因为不用担心其他地方会修改值
    // int* restrict pt = (int*) malloc(10 * sizeof(int));
    // restrict用于函数参数时，表示参数的内存地址之间没有重叠。
    // void swap(int *restrict a, int *restrict b)
    // {
    //     int t;
    //     t = *a;
    //     *a = *b;
    //     *b = t;
    // }
    // 上面示例中，函数参数声明里的restrict表示，参数a和参数b的内存地址没有重叠
}